Documentation for uPano v3

Overview

Thanks for using uPano! Don't forget to leave a review on the store page if you liked it, this helps us a lot! https://assetstore.unity.com/packages/tools/integration/upano-126396

Introduction

uPano (Unity Panoramic Framework) is a universal solution for displaying dynamic and static panoramas, and creating virtual tours.

Most of the existing types of panoramas are supported: spherical, cylindrical, cubic panoramas on single or six images, cubemap.

uPano is very easy to learn and use, and is great for people who do not have programming experience. In most usage scenarios, you can make interactive panoramas without creating your own scripts (for more details, see Interactive Element / Events section).

If you have some very specific purpose, uPano has a powerful and easy-to-use API that will allow you to implement any behavior.

Platforms: Standalone, iOS, Android, Universal Windows Platform, WebGL. Other platforms have not been tested, but most likely uPano will work well.

Quick tour creation

uPano - Tour Maker

Select Window / Infinity Code / uPano / Tour Maker.

Click «Create a new tour». This will create a new empty tour with default settings.

If you are making a tour for Google VR, select Hierarchy / uPano Tour / Tour (Script) / Preset - Google VR. This will remove the keyboard and mouse controls, add Timed Gaze plugin, and apply the required settings for VR.

Drag and drop panorama textures from Project to Tour Maker.

A separate panorama will be created for each texture.

Right-click on the panorama with which you want to start the tour, and select Set Start Panorama in the context menu. The start panorama will be highlighted in green.

To create an interactive element for switching between panoramas, right-click on the panorama from which you want to switch, drag to the target panorama, and release the right mouse button.

This will open Visual Element Editor in connection mode.

Right-click in the place where you want to create an interactive element, and select the element type (HotArea, HotSpot or Direction).

In Tour Maker, outgoing transitions from the selected panorama will be highlighted in blue.

Quickly create a panorama (wizard)

uPano - Wizard

Select Hierarchy / Create / 3D Object / Panorama or Window / Infinity Code / uPano / Wizard to open the panorama wizard.

Select the type of panorama, specify the texture, enable the controls and plugins you need, and click «Create».

uPano will create a fully-ready panorama. Just start the scene, and enjoy the result.

Structure

uPano consists of:

Using controls and plugins is optional. You can use them in any combination, or not use at all.

Viewing parameters

To position any point on the panorama, two values are used:

Pan - the horizontal angle of rotation of the camera is 0-360 degrees clockwise, where 0 is north, 90 is east, 180 is south, 270 is west.

Tilt - deviation angle «up» and «down» from the horizon. The range is from -90 to 90 degrees, where 0 is horizontal, 90 is up, and -90 is down.

The point on the panorama that the camera is looking at is called Point of View (POV).

Important: changing the tilt in a cylindrical panorama moves the camera up / down instead of rotating.

The camera has two additional parameters: Fov - the vertical field of view of the camera in degrees. North Pan - the horizontal angle of rotation of the camera is 0-360 degrees clockwise to the true north.

Cameras

uPano requires a camera to properly display and interact with the panorama. To interact with interactive elements, the camera must have a Physics Raycaster component.

By default, uPano creates a new camera to display the panorama. But if you need, you can specify an existing camera. For example, this is very useful when creating a VR application.

To work with multiple cameras, use Multi Camera component.

To work with cameras that have an orthographic projection, use Orthograpthic Cameras component.

Orientation of a panorama

uPano supports panorama orientation in three modes:

  1. Rotate Camera (by default) - when changing pan and tilt, the camera that displays the panorama will be rotated. In most cases, it is recommended to use this mode.
  2. Rotate Panorama - when changing pan and tilt, the GameObject of the panorama will be rotated.
  3. Rotate GameObject - when changing pan and tilt, the specified GameObject will be rotated. This is useful for VR applications when you want to rotate multiple cameras simultaneously.

Important: For the camera created by uPano, only Rotate Camera mode is available. If you want to change the orientation mode, specify an existing camera.

Huge Textures

If you want to use textures with a huge resolution (over 8k), then you can do it using Huge Texture asset. https://assetstore.unity.com/packages/tools/input-management/huge-texture-163576

This will give you a big boost in the quality of the displayed panorama. Read more about how this works in the Huge Texture documentation.

UV

For all types of panoramas, except for a cubic panorama on six images and a cubemap, you can adjust UV of the panorama. For a cubic panorama on single image, you can rotate the side texture to 90, 180 or 270 degrees.

Proper adjustment of UV is very important for a cubic panorama on single image. Even a small error can give a visible seam on the faces of the cube, so be careful when setting up UV.

In most cases, UV for the other types of panoramas do not need to be adjusted. But still it can be useful for solving specific problems. For example, to clip an empty area at the bottom of an image downloaded from Google Street View by third-party ways.

Texture Compression

When you use a texture that you have in a project, the compression and format of the textures depends on your texture import settings.

When you download a texture using Downloader, Google Street View, or set Texture2D using uPano API, the texture compression depends on Pano Renderer / Compress Texture field.

If texture compression is enabled, the texture will be automatically compressed to DXT1 or DXT5 format, which greatly reduces memory usage.

Scriptable Render Pipeline (URP, HDRP)

uPano automatically detects the use of Scriptable Render Pipeline, and if necessary, will ask you to enter the shader parameter where the texture should be set.

WebGL

When you'll try to use Google Street View, you may encounter a CORS (Cross-Origin Resource Sharing) restriction. https://en.wikipedia.org/wiki/Cross-origin_resource_sharing

Currently there is only one way to work around this - use PHP bridge (proxy). Example and instructions you can download here: https://infinity-code.com/downloads/uPanoCORS.zip

Panorama types (Pano Renderers)

Spherical

uPano - Spherical Panorama

The basis of the spherical panorama is an image collected from a variety of individual frames in a spherical (equidistant) projection. A characteristic feature of spherical panoramas is the maximum possible viewing angle (360 × 180 degrees).

uPano can display this type of panorama on a sphere or icosahedron. Icosahedron is a regular convex polyhedron, each face of which is an equilateral triangle. Using icosahedron allows you to improve the display of the panorama at the top and bottom points.

To display spherical panoramas, use Spherical Pano Renderer.

Cylindrical

uPano - Cylindrical Panorama

Cylindrical panorama is characterized by a viewing angle of 360 degrees horizontally and a viewing angle of less than 180 degrees vertically. In other words, a cylindrical panorama is a variant of a spherical panorama, devoid of zenith and nadir (images of the highest and lowest points of view).

To display cylindrical panoramas, use Cylindrical Pano Renderer.

Cubic panorama on six images

uPano - Cubic panorama on six images

Cubic panorama is obtained by projecting images onto the inner faces of the cube. You can imagine an observer inside a huge cube, on the inner walls of which are glued images of the appropriate scale. Cubic panorama allows you to create panoramas with viewing angles of 360 degrees horizontally and 180 degrees vertically. Like a spherical panorama, the cubic panorama is prone to distortions.

To display cubic panoramas on six images use Cube Faces Pano Renderer.

If you see the seams on the edges of the cube, select textures in Project window and set Wrap Mode - Clamp.

Cubic panorama on single image

uPano - Cubic panorama on single image

In this type of panorama, the images of the sides of the cube are combined into one large image.

There are three main types of layouts:

  1. Crosses
  2. Lines
  3. 3 rows, 2 columns

Each type has a horizontal and vertical orientation. Sides of the panorama can be reflected and / or rotated by a fixed angle (90, 180, 270).

uPano has presets for the main types of layouts and allows you to adjust UV of each side of the panorama.

To display cubic panoramas on single image, use Single Texture Cube Faces Pano Renderer.

Cubemap

uPano - Cubemap

uPano can display an existing cubemap as a panorama. https://docs.unity3d.com/Manual/class-Cubemap.html

To display cubemap panoramas, use Cubemap Pano Renderer.

Controls

Components that allow the user to control the panorama. You can use an unlimited number of different controls in any combination.

Mouse Control

Implements panorama control using the mouse and touch (on mobile devices).

Modes:

  1. Drag (by default) - the panorama will be moved by dragging. Supports inertia when you stop dragging.
  2. Free - the panorama will constantly move towards the cursor.
  3. Left Mouse Button Down - the panorama will move towards the cursor while you hold the left mouse button.

Implements the changing of fov using the mouse wheel and pinch to zoom (on mobile devices).

Keyboard Control

Implements panorama control using the keyboard.

To change pan and tilt, use the horizontal and vertical input axes. https://docs.unity3d.com/Manual/class-InputManager.html

To change fov, use «+» and «-» buttons on the main or numeric keypad.

You can adjust the sensitivity of changing the values and limit the rotation axes of the panorama.

Tip: To prevent pan, tilt or fov from changing using the keyboard, set the sensitivity to 0.

Compass Control

Implements panorama control using a device compass. This control changes only pan.

Gyro Control

Implements panorama control using a device gyro. This control changes pan and tilt.

UI Buttons Control

uPano - UI Buttons Control

Implements panorama control using the on-screen buttons. Automatically integrates with Auto Rotate plugin.

Joystick Control

uPano - Joystick Control

Implements control panorama uing the on-screen joystick. Drag the center part of the joystick and the panorama will move in the same direction.

UI Compass Control

uPano - UI Compass Control

Compass showing the current orientation of the panorama. Click on the center to set the orientation to the north. Click on the side arrows to rotate the panorama 90 degrees clockwise or counterclockwise.

Plugins

Scripts that implement additional features of panoramas. Formally, all control, managers of interactive elements and some other components are also plug-ins, but they have a lot of features and will be described in separate sections.

Auto Rotate

Automatically rotates the panorama clockwise.

When the user interacts with the panorama using any control, the automatic rotation stops. After 10 seconds of inactivity, automatic rotation resumes.

If tilt is not equal to zero, then this value will gradually tend to zero.

Automatically integrates with UI Buttons Control.

Downloader

Downloads the panorama texture at the specified URL. Optionally can download low resolution texture first.

Important: A low resolution texture must be of the same type as a high resolution texture.

Supports all Pano Renderers, except Cubemap.

Fingers Touch Gesture Connector

Implements integration with the Fingers asset - Touch Gestures. https://assetstore.unity.com/packages/tools/input-management/fingers-touch-gestures-for-unity-41076 When using this asset, fov changes will be made using Pinch to Zoom gesture in Fingers.

Limits

Allows you to limit the valid values of pan, tilt, and fov. Strongly recommended for use.

Multi Camera

Synchronous changes fov for multiple cameras. Additionally, it can change the local position of cameras depending on fov. This is useful for VR applications to prevent the problem of too much divergence of images for the left and right eyes when fov value is small.

Orthographic Cameras

Extends Multi Camera plug-in, allowing cameras to have an orthographic projection. Additionally, it has the ability to customize the conversion of fov - orthographicSize values.

Sync Views

Synchronize pan, tilt and fov changes for multiple panoramas. Important: to avoid changing values too quickly using the keyboard, use the Keyboard Control on only one panorama.

Time Switch

Automatically switches panoramas by timer.

Timed Gaze

Automatically clicks on interactive elements (HotArea, HotSpots, Directions) after the specified hover time.

Interactive Elements

Interactive element is an object in the panorama, with which the user can interact. Interactive elements support events and actions, and can be programmed for any behavior.

Hot Spot

Hot Spot Manager component adds hot spot support to the panorama.

Hot spot is an interactive GameObject, which is positioned on the panorama using pan and tilt.

uPano - HotSpot Manager

Hot Spot Manager contains:

  1. Default Prefab - GameObject, an instance of which will be used for hot spots, if no prefab for the element is specified.
  2. Button «+» - add a new hot spot.
  3. Total: X - the number of elements.
  4. Visual Editor - opens a visual editor.
  5. Collapse all - collapses all items and their events.
  6. Arrow down - collapse item fields.
  7. Title. This name will set to the GameObject - a hot spot instance.
  8. Button «x» - remove the hot spot.
  9. Prefab - GameObject, a copy of which will be used for hot spot.
  10. Pan, tilt - position hot spot on the panorama.
  11. Look To Center - prefab will always be oriented towards the center of the panorama.
  12. Rotation - local rotation of the hot spot instance.
  13. Scale - local scale of the hot spot instance.
  14. Distance Multiplier - the multiplier of the distance from the center of the panorama to the point on the mesh. Allows you to move the hot spot closer if it goes beyond the panorama.
  15. Quick Actions - allows you to quickly define basic behaviors without creating events.
  16. Load Panorama Prefab - loads a panorama from a prefab and switches to it.
  17. Switch To Panorama - switches to another panorama in the scene.
  18. Copy Pan Tilt - copies the current pan and tilt to the target panorama.
  19. Before Transition Prefab - an animation prefab that will be played before switching the panorama.
  20. After Transition Prefab - an animation prefab that will be played after switching the panorama.
  21. Tooltip - a tooltip that is displayed when you hover over an element.
  22. Events - hot spot events.
  23. Ignore Global Events - this element will ignore global events for all elements.

Hot Area

Hot Area Manager component adds hot area support to the panorama. Hot area is a polygon area defined by a set of points that have pan and tilt.

hot-area

In general, Hot Area Manager has the same fields as Hot Spot Manager, except for the settings for all directions:

Points - set of polygon points. Color - polygon color in Visual Element Editor.

Note: the polygon is not displayed in playmode.

Direction

Direction Manager component adds support for direction to the panorama.

Direction is an arrow that points in the direction of another panorama. This is positioned in the panorama using the pan.

uPano - Direction

In general, Direction Manager has the same fields as Hot Spot Manager, except for the settings for all directions: Default Prefab - GameObject, an instance of which will be used for direction, if no prefab for the element is specified. Internal Radius - the radius from the central point of rotation to the instance of the direction. External Radius - the radius from the camera to the center point around which direction will be located. Vertical Offset - vertical offset of the center point.

Visual Editor

uPano - Visual Editor

Visual editor makes it easy to manage interactive elements on the panorama.

Important: In the current version, the visual editor supports only spherical, cylindrical and cubic panoramas on single image.

Click «Window / Infinity Code / uPano / Visual Interactive Element Editor» or «Visual Editor» in the interactive element manager inspector to open the visual editor. Select in the «Hierarchy» or «Project» window any GameObject containing a panorama to display the used texture and interactive elements.

You can drag and scale the viewing area.

Click «Reset view» to reset the movement and scale of the viewing area.

To create an interactive elements, right-click and select «Create {TYPE OF ELEMENT}» from the context menu. A new interactive element will be created under the cursor.

You can drag element to any available panorama area. But you cannot drag an interactive element outside UV of the panoramas.

To remove element, right click on it and select «Remove» from the context menu.

Click on the interactive element using the left mouse button to open the interactive element settings window. This window displays the settings only for one element, so it is much more convenient to use it in Interactive Element Manager inspector.

Above the interactive element icon displayed title.

For hot spot: If the title is red, then prefab is not specified and hot spot will not be displayed.

Events

Interactive elements have five events: Clicking, pressing the left mouse button (or touch), releasing the left mouse button (or touch), the cursor is enter to the interactive element, the cursor is out from the interactive element.

For each event, you can add an unlimited number of actions. Action is a public method of a class that inherits MonoBehaviour, which takes an interactive element as a parameter. You can create your own actions, or use a predefined actions.

Global events

If your interactive elements have the same actions for an event, you can use global events that will be called for all interactive elements of the same type before the element's events.

To use global events, add the global event component of the appropriate type. For hot spot: HotSpotGlobalActions. For direction: DirectionGlobalActions.

If some interactive element should ignore global events, you can specify it in the settings of the element.

Predefined actions

Predefined actions are: used for all types of interactive elements and used only for hot spots.

For all types of interactive elements:

Copy Pan Tilt - copy pan and tilt from source to target panorama. Destroy Current Panorama - destroys the panorama to which the current interactive element related. Instantiate Prefab - creates an instance of the prefab in the scene. It can be a prefab of a panorama from a project. Load Another Panorama - creates an instance of the panorama prefab in the scene. Also, it allows you to copy the orientation settings from the current panorama. Load Scene - loads the scene by index or name. Open URL - opens a URL in a browser. Play Sound - plays sound from AudioClip or AudioSource. Set Cursor - sets cursor. Set Fov - sets FOV value. Set GameObject Active - enables or disables GameObject in the scene. Set Pan and Tilt - sets Pan and Tilt values. Set Scale - set the scale of the interactive element. Set Text - sets the value for Text component. Set Transform Position - sets the position for GameObject. Set Transform Rotation - sets the rotation for GameObject.

Only for hot spots:

Destroy Current Hot Spot - destroys the hotspot you interacted with. Set Hot Spot Color - sets the color of the first material of the current hot spot. Set Hot Spot Rotation - sets the rotation of the current hot spot. Show TextMesh Tooltip - sets the value for TextMesh component. Show Tooltip - shows the specified tooltip. Show Tooltip Multi Camera - shows the specified tooltip for Multi Camera.

All predefined actions have a public Invoke method, which must be called to perform the action.

Note: Show Tooltip Show Tooltip Multi Camera and Show TextMesh Tooltip actions have three public methods: Invoke and Show - show tooltip, Hide - hide tooltip.

In the future, the list of predefined actions will expand. If you have suggestions, what other actions need to be added, please contact us.

Quick actions

For interactive elements, there are the same actions that you will most likely use for most elements. You can create quick actions in Quick Actions section of the settings of the interactive element.

Load another panorama on click: Specify Load Panorama Prefab and Load Another Panorama action will be automatically added to the interactive element.

Switch to another panorama in the scene on click: Specify Switch To Panorama and Set GameObject Active action will be automatically added to the interactive element.

Showing a tooltip: Enter Tooltip text, select the action, and specify Tooltip Prefab. For the interactive element, the specified action will be automatically added.

Interactive elements without programming

uPano allows you to specify the behavior of interactive elements without programming.

Step by step instructions on the example of hot spot: Create a child GameObject for the panorama, which will contain hot spot events.

uPano - Interactive elements without programming

Tip: Create separate GameObject for each action. This will help you more easily navigate in action.

Important: If you want to make a prefab of the panorama, the action must be on the child of the panorama GameObject. Prefab cannot reference objects in the scene outside the prefab.

Select GameObject that will store the action. Add one of the predefined actions, or your own script containing the action.

uPano - Interactive elements without programming

In Hot Spot Manager, create a new Hot Spot. In the event that should perform this action, press «+». Specify GameObject that contains the action. Select the action script and Invoke method if you use predefined actions, or your own method that should be called.

Note: the method must contain the interactive element parameter, in which the element that triggered the action will be passed.

uPano - Interactive elements without programming

Transitions

uPano has a built-in system of compound transitions, allowing you to easily create complex unique transitions without programming.

For each action that supports transitions (DestroyCurrentPanorama, LoadAnotherPanorama, LoadScene), you can specify two transitions: Before - will be invoked before the action. After - will be invoked after the action.

Note: you need to specify not the transition itself, but Prefab which contains the transition.

All available transitions are in «Component / uPano / Transitions».

Simple transitions

All simple transitions are animated and smoothly change the state from initial to final.

Available simple transitions: Changing panorama values: Set Fov, Set Pan and Tilt. Changing interactive elements: Look At Active Element, Scale Interactive Elements. Full-screen overlays: Blur, Tint.

Important: Look At Active Element and Scale Interactive Elements (with Element Type except All Elements) cannot be used in After Transition, because the element that causes the transition does not exist anymore.

Compound transitions

Compound transitions are realized by combining several simple transitions using helper and combined transitions. Compound transitions are located in «Component / uPano / Transitions / Helpers».

Consecutive Transitions - an array of transitions, each element of which begins after the end of the previous one. The transition ends when the last element is completed.

Simultaneously Transitions - an array of transitions, all elements of which start at the same time. The transition ends when the longest element is completed.

Delay - helper transition, to implement the delay in other combined transitions.

Step-by-step example of how to create a compound transition

In this example, we will create two complex transitions. The first transition will simultaneously center and zoom the interactive element that the user clicked on, and blur the panorama. The second will perform the opposite action.

Before Transition: Create a new GameObject (Hierarchy / Create Empty) and rename it to BeforeTransition. Create a child GameObject (Hierarchy / Create Empty Child) and rename it to Phase 1. Add Look At Active Element transition, enable Use Fov, and set Target Fov - 10. Select BeforeTransition and create a child with name Phase 2. Add Blur transition and set Blur Material - TransitionBlurMaterial. Select BeforeTransition and add Simultaneously Transitions. Set Transitions / Size - 2, and select Element 0 - Phase 1, Element 1 - Phase 2. In Project, create Transitions folder, and then drag BeforeTransition from the Hierarchy to this folder. BeforeTransition name in Hierarchy should be blue. This means that prefab is created. Remove BeforeTransition from Hierarchy.

After Transition: Create a new GameObject and rename it to AfterTransition. Create a child GameObject and rename it to Phase 1. We cannot use Look At Active Element, because the element that caused the transition no longer exists. Add Set Fov transition, and set From Fov - 10, To Is Original - ON. Select AfterTransition and create a child with name Phase 2. Add Blur transition, set specify Blur Material - TransitionBlurMaterial, From Radius - 30, To Radius - 0. Select AfterTransition and add Simultaneously Transitions. Specify Transitions / Size - 2, and select Element 0 - Phase 1, Element 1 - Phase 2. Drag AfterTransition to Project / Transitions. Remove AfterTransition from Hierarchy.

Using transitions: Create a new hot spot and expand Quick Actions. In Target Panorama select the prefab of the panorama to which you want to go. Two new fields will shown: Before Transition Prefab and After Transition Prefab. Select the appropriate prefab from Project / Transitions. That's all, it remains to verify that this works. Start the scene and click on the hot spot to see the transitions.

Additional features

Video panoramas

uPano can display video panoramas.

To use a video panorama: Import the video into the project. Create a new Render Texture (Assets / Create / Render Texture). Specify the size of the Render Texture to be equal to the video resolution.

uPano - Video panoramas

In the scene, create a new GameObject, and add Video Player component to it. In Video Clip field, specify a video. Select Render Mode - Render Texture and specify the early created Render Texture in Target Texture field.

uPano - Video panoramas

In Pano Renderer, set Render Texture to Texture field, and adjust UV. When you start the scene, you will see a video panorama.

Tip: For Youtube 360 video, you need to use Single Texture Cube Faces Pano Renderer. UV Preset - Youtube (3x2).

Pano Downloader

A tool for downloading panoramas from third-party services by URL.

uPano - Pano Downloader

Open the extension manager to download and add support for the required provider. Open the browser and go to provider site. Use the map to open the panorama. Copy URL from your browser's address bar. Open Window / Infinity Code / uPano / Pano Downloader. Paste URL into URL field and click Download. The downloaded panorama will be saved in the folder «Assets / Panoramas».

Extensions

Open Window / Infinity Code / uPano / Extension Manager. This window contains third party providers and services that you can integrate with uPano. Enter your Invoice Number and click Download to start downloading the required extension.

Integration with third-party assets

Third-party assets are not included in uPano package and you must buy them separately. For integration, you need to have uPano and another asset in the project.

Fingers - Touch Gestures

https://assetstore.unity.com/packages/tools/input-management/fingers-touch-gestures-for-unity-41076

To use the Fingers - Touch Gestures integration, add the FingersTouchGesturesConnector component. When using this asset, fov changes will be made using Pinch to Zoom gesture in Fingers.

Online Maps

https://assetstore.unity.com/packages/tools/integration/online-maps-v3-138509

Integration with Online Maps allows you to display Google Street View panoramas using uPano. To enable integration, add Online Maps Pano Connector to the map GameObject and click Enable uPano. The map will show overlay for which Google Street View panoramas are available. When you click on the map, uPano will download and display the panorama of the location.

Playmaker

https://assetstore.unity.com/packages/tools/visual-scripting/playmaker-368

Integration with Playmaker allows you to use the uPano API in visual mode. To enable integration import «uPano-Playmaker-Integration-Kit.unitypackage» into the project.

You can do this in two ways:

  1. Window / Infinity Code / uPano / Playmaker Integration Kit
  2. Manually import the package located «Assets / Plugins / Infinity Code / uPano / Packages / uPano-Playmaker-Integration-Kit.unitypackage».

Playmaker will add new actions for uPano, grouped into sections starting with uPano.

uPano API

For more information about all public classes, methods, and variables, see API Reference.

Online version: https://infinity-code.com/docs/api/upano/

The local version of API Reference is located in «Plugins / Infinity Code / uPano / Documentation / API Reference (Do not unpack in assets folder).zip». Important: do not unpack the archive into Assets folder of your project.

The order of the values in the point on the panorama: Vector2, Vector3: X - pan, Y - tilt; Parameters of methods: first - pan, then - tilt.

The order of values in geographic coordinates: Vector2, Vector3: X - longitude, Y - latitude; Parameters of methods: first - longitude, then - latitude.

Making changes to the source code uPano

We do not recommend that you make changes to uPano code yourself, because you will lose it on update. Most tasks can be solved using API.

If you really need to modify the source code of uPano, please send us your changes. We will include your changes into the project, or we will give you the best way to do it.

Updating

We send only stable versions to Unity Asset Store. The update period is several months.

uPano has a built-in update system, using which you can download the latest versions. Important: Always make backups of the project before updating assets.

Select Window / Infinity Code / uPano / Check Updates or uPano / Help / Check Updates to open the built-in update system.

Specify your Invoice Number or Order Number. Select the update channel and click «Check New Versions».

You can find out your Invoice Number in Unity Asset Store order confirmation email, or page: https://assetstore.unity.com/orders

Each channel shows a maximum of 10 latest updates. If updates are available, then you can read the list of changes and download it.

If you have problems installing the update, then:

  1. Open an empty scene.
  2. Delete folder «Standard Assets / Infinity Code / uPano».
  3. Import the new version of uPano into the project.

If you want to return to the previous version of uPano, then select the «Stable Previous» channel. Using this channel you will be able to get 10 previous stable versions.

uPano automatically checks for updates every 24 hours. If the new version is available, you will see a red label in uPano Inspector header. Clicking on it will open the built-in update system.

Automatic check of the update does not require Invoice Number and uses the last selected update channel. If the update channel is not selected, only stable versions will be checked.

Support

We provide support by email (support@infinity-code.com in English and Russian, by Discrord (https://discord.gg/2XRWwPgZK4) or on the forum (https://forum.infinity-code.com) in English.

If something does not work for you, you found a bug, or you have any suggestions, please contact to us. Please don’t forget to specify your version of Unity, OS and the current version of uPano. The usual response time is from a few minutes to 24 hours.

We manually control the spam folder, so do not worry, we will not miss your request.

If you did not receive a response within 24 hours:

  1. Check the spam folder.
  2. Contact us using another way.

Other Infinity Code assets

Huge Texture

Huge Texture

https://assetstore.unity.com/packages/tools/input-management/huge-texture-163576

Huge Texture allows you to import and use textures larger than 8192x8192px.

How it works: When importing a texture, Huge Texture splits the texture into pages and saves it as a Texture Array. Texture Array is combined on the shader side, which does not create extra draw calls and has almost no effect on performance.

Features:

Requirements:

Mesh to Terrain

Mesh to Terrain

https://assetstore.unity.com/packages/tools/terrain/mesh-to-terrain-7271

Mesh to Terrain is a tool for easily and quickly converting a 3D terrain model created in 3ds Max, Terragen or any other editor to Unity Terrains. Mesh to Terrain can convert textures to SplatPrototypes (Terrain Layers), generate terrain from several models and split the model into several terrains.

Features:

Online Maps

Online Maps

https://assetstore.unity.com/packages/tools/integration/online-maps-v3-138509

Online Maps is a universal multi-platform mapping solution for your 2D, 3D, AR / VR and mobile applications and games.

Fully customizable, incredibly easy to learn and use, and at the same time is one of the most powerful and flexible solutions in the industry.

Supports a huge number of services for any mapping needs, and has integration with the best Asset Store assets.

The package contains the complete source code without dependencies, and if you want to add or change some feature, you can easily do it.

Don't have programming experience or don't know C# - Online Maps supports visual scripting using Bolt and Playmaker.

All the features to create any map in Unity in one asset.

Features:

Real World Terrain

Real World Terrain

https://assetstore.unity.com/packages/tools/terrain/real-world-terrain-8752

Real World Terrain is a tool for automatically creating high-quality terrains, meshes, Gaia stamps and RAW files based on real-world data with global coverage. Incredibly fast and easy to use, and allows you to create high-quality terrains in a couple of clicks. In addition, Real World Terrain can create buildings, roads, trees, grass, and rivers based on Open Street Map data. Real World Terrain is incredibly powerful and flexible. It has a powerful Editor API to automate the generation of terrains, and Runtime API positioning objects by coordinates, etc. Real World Terrain has integration with the best assets of the Asset Store, which gives almost unlimited possibilities in the generation of terrains.

Features:

Terrain Quality Manager

Terrain Quality Manager

https://assetstore.unity.com/packages/tools/terrain/terrain-quality-manager-28949

Terrain Quality Manager allows you to change the resolution of Heightmap, Detailmap, Alphamap and Basemap, without losing data. If you need to increase the quality of terrain, or optimize terrain for better performance, with this tool you can do it.

Features:

uContext (FREE, PRO)

img

uContext Basic (FREE): https://assetstore.unity.com/packages/tools/level-design/ucontext-basic-182221

uContext PRO (PAID): https://assetstore.unity.com/packages/tools/level-design/ucontext-pro-141831

uContext is productivity PowerPack that take your workflow in Unity Editor to a next level, simplifies working with content, adds new features to the editor, corrects and improves the editor’s built-in behaviors. Over 50 useful tools for everyone in one asset. It doesn't matter what role you have in the project and at what stage your project is. uContext helps you right now and saves you hours of chores every day.

Standalone Tools

- Bookmarks for any objects in a scene or project, allow you to always keep your most needed objects at hand; - Distance Tool allows you to quickly calculate the distances between Transforms, positions and cursor; - Editor Icon Browser allows you to view, copy and export built-in icons; - Recent Scenes; - Smart Search for GameObjects and Components in the scene, assets in the project, and items in the menu; - Timer displays the time since the start of the game; - Timescale window allows you to quickly change the timescale value; - Universal context menu which is available everywhere in Unity Editor and allows you to quickly open the most useful windows, open components, create objects, add components, navigate and perform many more useful actions;

Scene View Tools

- Change the size of the brush Terrain Editor using the mouse wheel; - Displaying position, rotation and scale in Scene View when using the appropriate tools; - Displaying the size of selected objects; - Highlighter shows in color objects under the cursor in the scene and lines in the hierarchy; - Object Placer allows you to easily and quickly create objects in the scene. Just point to the place where you want to create the object and press CTRL + SHIFT + Right Click; - Object Toolbar for accessing the components of the selected GameObject and importers of the asset. The most useful editor opens automatically when the Object is selected. Can display related components: components that are on another GameObject but are logically related to the current one; - Quick Access Bar for quickly opening a window, scriptable objects, settngs, executing a menu item, and calling static methods; - Smart Selection allows you to quickly select any object that WAILA shows; - Transform Editor Tools allow you to change transform values without using an inspector; - WAILA (What Am I Looking At) displays name of one or all GameObjects under the cursor, and allows you to quickly find any object, even if it is hidden behind another object;

Navigation Tools

- Fast zoom in / out; - Frame Selected Bounds; - Jump To Point is the fastest way to navigate a scene. Just hover over the place where you want to move and press SHIFT + Middle mouse button; - Quick Preview shows the image from cameras and View States in Scene View. Allows you to quickly view the scene from different angles, and adjust the scene view in one click; - View Gallery - displaying images from all cameras in the scene and all View States, with the ability to set the view from the camera or View State with one click. In addition, you can save View States for selection, and quickly restore it;

GameObjects Tools

- Add Component by shortcut opens the Add Component window under the cursor, and works even when the Scene View is maximized; - Align & Distribute; - Collections; - Drop To Floor + Advanced Drop To Floor; - Duplicate Tool allows you to fill lines and areas with duplicates of selected objects; - Group and ungroup GameObjects; - Quick replacement GameObjects; - Rename by Shortcut + Mass Rename; - Rotate by Shortcut; - Select Prefab Instances; - Selection History stores a history of object selections in the scene and project, and you can quickly switch between entries;

Inspector Tools

- Inspector Bar allows you to show components in solo mode and quickly collapse / expand all components; - Nested Editors allow you to expand editors for objects in Object Fields right below the field;

Hierarchy Tools

- Component icons in Hierarchy; - Display components errors and exceptions in Hierarchy; - Displays the icon of the best component, instead of the standard GameObject icon in Hierarchy. Dramatically improves the readability of Hierarchy; - Enable/disable GameObject using Hierarchy; - Headers; - Icon Selector; - Solo visibility allows you to quickly hide / restore the visibility of other objects;

Window Tools

- Ability to open any component in a separate window. The component will be displayed as if it were part of an inspector. Custom editors and third-party assets that modify the inspector (like Odin - Inspector and Serializer) are supported. It has a debug mode where only serialized fields will be displayed. The component will always be available, even if GameObject has lost focus; - Ability to quickly switch between open windows, even when the current window is maximized; - Auto switch to maximized Game View on enter playmode when Scene View is maximized; - Fast switching between Scene View and Game View (CTRL + SHIFT + TAB); - Favorite Windows allows you to create your own list of windows that are most useful to you and open them with one click. Built-in Unity Editor windows and third party asset windows are supported; - Maximize any window by F11; - Maximize Game View in playmode by SHIFT + Space; - Recent windows allows you to quickly open windows that are not closed recently;

Additional features

- Improved drag and drop objects onto Canvas; - Improved drag from Object Fields; - Improved changing values in numeric fields; - Integration with Enhanced Hierarchy, Fullscreen Editor, Online Maps, ProGrids, Real World Terrain; - Built-in update system.

uContext is fully customizable. If a feature does not fit your workflow, you can adjust or disable this feature.

Final words

We sincerely hope that you will enjoy using uPano. If you have any questions or problems, please contact us. We will try to help you as soon as possible.

Please don't forget to leave a review on the store page if you liked uPano, this helps us a lot! https://assetstore.unity.com/packages/tools/integration/upano-126396 It is very important for us to have feedback to make our assets better.

Links

Product page: https://infinity-code.com/assets/upano API Reference: https://infinity-code.com/docs/api/upano/ Email: support@infinity-code.com Discord: https://discord.gg/2XRWwPgZK4 Forum: https://forum.infinity-code.com YouTube: https://www.youtube.com/playlist?list=PL2QU1uhBMew87wEKLcaTRihCft-buVmdy Vimeo: https://vimeo.com/channels/upano Twitter: https://twitter.com/InfinityCodeCom